這一篇我們來介紹關於HANA Database一些日常操作管理
Start and Stop Services
這是最基本的操作了,HANA一般在OS Level 是用 “sapstartsrv”ˊ這個服務來啟動整個HANA system,包括了 Name Server / index server / pre-processor等等服務並且是需要是adm帳號的權限來操作。
在OS Level 的command 有兩種啟動與關閉服務
上圖中sapcontrol command 中的00是instance number,另外你也可以使用Cockpit來實現相同的目的,可參考下面示意圖
上圖示計畫係的維護,但若是因為OS或硬體或其他問題造成的就需要做一些log的判斷甚至要把整個log dump給SAP原廠判斷。
關閉HANA DB的選項,有兩種選項
immediately — 這個選項表示會立刻關閉所有服務,正在進行的transactions會被放棄或是rollback.
Softly-timeout — 這個選項是指HANA DB會等待5分鐘(當然可以自行調整)的時間讓所有的transaction完成(並不會再有新的transaction進入)。五分鐘過後就會採用immediately的方式關服務。
另外也可以使用SQL command開啟與關閉服務,命令如下
•ALTER SYSTEM START DATABASE
ALTER SYSTEM STOP DATABASE
若是Scale out(distributed)架構的HANA可採用如下命令
HANA DB的設定
相關的設定都在HANA的configuration file中,並且只能使用HANA相關的tool去修改不可直接在OS中修改,否則可能會有非預期的狀況發生。因為HANA參數檔案很多,通常都是會被分為group或layers.基本上有四類
上面的default 參數的設定只有在兩種狀況下才能修改,一種是來自SAP原廠的建議另一種是來自SAP Notes的文件。修改這些參數的部分可以在Cockpit修改,修該Database layer的參數最少要有 INIFILE ADMIN的系統權限才可以,而修改DB相關參數之後服務要重啟,相關細節可以參考SAP Notes 2036111.
每一個Database(不論是system DB or tenant DB)都會有以下的參數檔
–attributes.ini
–docstore.ini
–dpserver.ini
–esserver.ini
–executor.ini
–extensions.ini
–global.ini
–indexserver.ini
–multidb.ini
–scriptserver.ini
–xsengine.ini
接著介紹幾個比較重要的參數
上圖參數是指整個HANA System可以用多少的記憶體(這還跟你買的license 等級有關),而changleable是指設定立即生效不用重啟服務。
上圖參數指HANA DB多久一次將memory 中的 DATA寫入到硬碟。 0表示永不寫入(這大都用在非正式環境上)
上圖參數指HANA DB需不需要自動將log備份(沒有啟用也大都用在非正式環境)
上圖參數指HANA DB的log要不要覆寫,若選用複寫哪麼這一個DB將無法將資料回復到某個時間點。
上圖參數指HANA DB的在memory的log buffer,這視乎你的DB workload來調整。
相關的參數檔案路徑
如果是Global parameters會在:
/usr/sap//SYS/global/hdb/customer/config/
若是個別的server則會在:
/usr/sap//HDB//
每個SID會有自己客製化的參數檔,如下圖